Export your applications
Introduction
Welcome to the API documentation for exporting applications. This API allows you to retrieve the applications accessible by a a specific recruiter. You can access to your applications datas and filter by job ads id if needeed. You can also access certain information about your job ads.
This documentation presents the functional use of the API, with the main use cases and available data.
Quick Start
Authentication
You must authenticate with:
- An API Key (provided by the technical team).
- A valid Talent Acquisition user account.
Each request must include the following headers:
Content-Type: application/json
X-DR-API-KEY: <provided-api-key>
authorization: Bearer <token>
URL Structure
All endpoints use the base URL:
{url-environment}/public/v1/{endpoint}
Production environment example:
GET https://api.digitalrecruiters.com/public/v1/job-applications/detailed
Prerequisites
- A valid API Key (contact support to obtain one).
- An active Talent Acquisiton account (request from your administrator).
- All data is returned in JSON format.
- Dates follow W3C (ISO 8601).
- Hash IDs use characters
[a-zA-Z1-9]
. - Locale format:
ll_RR
(e.g.en_FR
). - Default result limit: 50 items.
Context and Use Cases
Use this API to:
- Synchronize applications to an external tool or HR system.
- Generate dashboards and reports on applications received.
- Build integrations with third-party services for candidate review, evaluation, or others flows outside Cegid HR Talent Acquisition.
API Methods
Login
Authenticate a user and obtain a token.
- URL:
users/login
- Method:
POST
Headers
Content-Type: application/json
X-DR-API-KEY:... // Your API KEY
Body
{
"email": "<string>",
"password": "<string>"
}
Response
{
"token": "<string>",
"refresh_token": "<string>"
}
The returned token must to be used for each calls via the header Authorization
Refresh Token
Refresh the authentication token.
- URL:
users/refresh
- Method:
POST
Headers
Content-Type: application/json
X-DR-API-KEY:... // Your API KEY
Body
{
"refresh_token": "<string>"
}
Response
{
"token": "<string>",
"refresh_token": "<string>"
}
Retrieve Job Ads
- URL:
job-ads/summary
- Method:
GET
Headers
Content-Type: application/json
X-DR-API-KEY:... // Your API KEY
Authorization: Bearer <token>
URL Parameters
sort
: optional, comma-separated sort fieldslimit
: optional, default 50 (max 1000)
Response Structure
{
"data": {
"count": <integer>,
"items": <JobAd[]>
},
"links": {
"first": <string>,
"last": <string>,
"prev": <string>,
"next": <string>
},
"meta": {
"current_page": <integer>,
"from": <string>,
"last_page": <string>,
"links": <PaginationLink[]>,
"path": <string>,
"per_page": <integer>,
"to": <integer>,
"total": <integer>
},
"version": <integer>
}
Field | Description |
---|---|
data.count | Number of items available in data.items |
data.items | Collection of JobAds |
links.* | List of URLs allowing navigation in the current resource (first, last, next) |
meta.* | Object facilitating pagination/navigation in the resource |
meta.current_page | Position of the current page |
meta.from | Starting index of elements in current page |
meta.to | End index of elements in current page |
meta.last_page | Position of the last page |
meta.links | Collection of PaginationLink objects for navigation |
meta.path | Path of the current resource |
meta.per_page | Number of items in data.items |
meta.total | Total number of elements in the resource |
version | Version/signature of the resource. Updates when new elements are added |
Retrieve Detailed Applications
- URL:
job-applications/detailed
- Method:
GET
URL Parameters
jobAd
: ID of an ad (optional)sorts
: sort order on fields likeid
,firstName
,lastName
,createdAt
,updatedAt
limit
: default 50 (optional)page
: default 1 (optional)
Response Structure
{
"data": {
"count": <integer>,
"items": <JobApplication[]>
},
"links": {
"first": <string>,
"last": <string>,
"prev": <string>,
"next": <string>
},
"meta": {
"current_page": <integer>,
"from": <string>,
"last_page": <string>,
"links": <PaginationLink[]>,
"path": <string>,
"per_page": <integer>,
"to": <integer>,
"total": <integer>
},
"version": <integer>
}
Field | Description |
---|---|
data.count | Number of items available in data.items |
data.items | Collection of JobApplications |
links.* | List of URLs allowing navigation in the current resource (first, last, next) |
meta.* | Object facilitating pagination/navigation in the resource |
meta.current_page | Position of the current page |
meta.from | Starting index of elements in current page |
meta.to | End index of elements in current page |
meta.last_page | Position of the last page |
meta.links | Collection of PaginationLink objects for navigation |
meta.path | Path of the current resource |
meta.per_page | Number of items in data.items |
meta.total | Total number of elements in the resource |
version | Version/signature of the resource. Updates when new elements are added |
Data Structures
JobApplication
See the full structure in the original document. Key fields include:
{
"id":<integer>,
"hashId": <string>,
"firstName": <string>,
"lastName": <string>,
"createdAt": <datetime>,
"jobTitle": <string>,
"avatar": <File>,
"gender": <string>,
"phoneNumber": <string>,
"email": <string>,
"educationLevel": <string>,
"gender": <string>,
"jobExperienceLevel": <string>,
"locale": <string>,
"origin": <string>,
"isSpontaneous": <bool>,
"isImported": <bool>,
"isFromApi": <bool>,
"rejectedReason": <string>,
"location": <Location>,
"contract": <Contract[]>,
"jobAd": <JobAd>,
"status": <string>,
"applicationStatus": <Object>
"recruitedAt": <datetime>,
"jobAcceptedAt": <datetime>,
"candidateStartingAt": <datetime>,
"jobReference": <JobReference>,
"privacy": <Privacy>,
"cv": <File>
}
Field | Description |
---|---|
id | id of the ressource |
hashid | Encrypted ID of the resource |
firstName | First name of the application. |
lastName | Last name of the application. |
createdAt | Date of the application |
jobTitle | Title of the application's job |
avatar | Application's avatar. |
gender | Gender of the application |
phoneNumber | Phone number of the application. |
Email of the application. | |
educationLevel | Education level in normalized form (string or null if not specified). |
jobExperienceLevel | Experience level in normalized form (string or null if not specified). |
local | Local of the application. |
origin | Source of the application. |
isSpontaneous | Is the application spontaneous. |
isImported | Has the application been imported by the recruiter. |
isFromApi | Has the application been imported via the API. |
rejectedReason | Reason for the refusal of the application in normalized form (string or null if not written). |
location | Resource representing an address. |
contract | Collection of resources representing the contracts sought by the candidate. |
jobAd | Resource representing an job ad. An application without a JobAd is an unsolicited application. |
(deprecated) status | Current status of the application. |
entity | Entity responsible for the job ad (see dedicated structure). |
applicationStatus | Label of the current status of the application |
recruitedAt | Date of recruitment action. |
jobAcceptedAt | Date of acceptance of the offer. |
candidateStartingAt | Date of employment declaration. |
jobReference | Job reference of the application. |
privacy | Resource representing the application's GDPR information. |
cv | Resource to consult the application's CV. |
JobAd
See the full structure in the original document. Key fields include:
{
"id":<integer>,
"locale": <string>,
"reference": <hash>,
"publishedAt": <datetime>,
"title": <string>,
"location": <Location>,
"contract": <Contract>,
"workingTime": <integer>,
"_links": <Link[]>
}
Field | Description |
---|---|
id | id of the ressource |
local | Local of the ad. |
reference | Unique reference of the ad. |
publishedAt | Date of publication of the ad. |
title | Title of the ad. |
location | Address associated with the ad. |
contract | Contract associated with the ad. |
workingTime | Constant representing the working time. |
links | Links to find related resources. |
File
{
"url": <string>
}
Field | Description |
---|---|
url | URL allowing the download of the resource |
Location / address
{
"street": <string>,
"zip": <string>,
"city": <string>,
"county": <string>,
"state": <string>,
"country": <string>,
"latitude": <string>,
"longitude": <string>
}
Field | Description |
---|---|
street | Address line |
zip | Postal code |
city | City |
county | Department |
state | Region |
country | Country |
latitude | Geographical coordinates |
longitude | Geographical coordinates |
Contract
{
"name": <string>
}
Field | Description |
---|---|
name | Name of the contract |
JobReference
{
"label": <string>,
"internalReference": <string>,
"hashId": <string>
}
Field | Description |
---|---|
label | Name of the profession |
internalReference | Internal reference of the customer |
hashId | Unique reference of the job ad |
Privacy
{
"status": <string>,
"updatedAt": <datetime>
}
Field | Description |
---|---|
status | GDPR status |
updatedAt | Last updated date (can be null if consent hasn't been renewed) |
Links
{
"rel":<string>,
"href": <string>,
"type": <string>
}
Field | Description |
---|---|
rel | Associated resource |
href | Link to the resource |
type | HTTP verb to use to call the resource |
PaginationLink
{
"url":<string>,
"label": <string>,
"active": <bool>
}
Field | Description |
---|---|
url | Address of a given page for the current pagination |
label | Label du lien |
active | Specifies if the link is active (current page) |
Reference Values
WorkingTime
Value | Definition |
---|---|
1 | Full-time contract |
2 | Part-time contract |
Privacy Status
Value | Definition |
---|---|
1 | Application with consent |
2 | Anonymous application |
(Deprecated) Status
Value | Meaning |
---|---|
created | Just submitted |
shortlisted | Pre-selected |
phoneInterview | To be qualified by phone |
interview | To be interviewed |
positionOffered | Offer made |
recruited | Hired |
rejected | Rejected |
canceled | Candidacy canceled by user |
Examples
job-applications/detailed
{
"data": {
"count": 1,
"items": [
{
"id": 8085286,
"hashId": "Ze3pN44x",
"firstName": "Alexander",
"lastName": "Bescond",
"createdAt": "2020-09-10T09:09:57+00:00",
"jobTitle": "Operational Controller",
"avatar": {
"url": "https:\/\/app.digitalrecruiters.com\/generated_contents\/images\/candidate_avatar\/9kreW1WZ-14.jpg"
},
"gender": "male",
"email": "a.bescond@email.com",
"location": {
"street": "8 Boulevard Jean Jaures",
"zip": "75009",
"city": "PARIS",
"county": null,
"state": null,
"country": "France",
"latitude": null,
"longitude": null
},
"contract": {
"count": 1,
"items": [
{
"id": 1,
"name": "CDI",
"countryNodeIds": null
}
]
},
"jobAd": null,
"status": "created",
"applicationStatus": {
"value": "qualification",
"labels": {
"en_FR": "Qualification",
"en_CH": "Qualification",
"en_CA": "Qualification",
"en_GB": "Qualification",
"pt_BR": "Qualificação",
"de_DE": "Qualifikation",
"de_CH": "Qualifikation",
"nl_BE": "Opleiding",
"es_ES": "Cualificación",
"it_IT": "Qualificazione",
"it_CH": "Qualificazione"
}
},
"recruitedAt": null,
"jobAcceptedAt": null,
"candidateStartingAt": null,
"jobReference": {
"label": "Customer Service",
"internalReference": null,
"hashId": "N9vBP19E"
},
"privacy": {
"status": "default",
"updatedAt": null
},
"cv": {
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications/cv\/8085286\/11902239\/Alexandre_Bescond.docx"
}
}
]
},
"links": {
"first": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=1",
"last": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=17",
"prev": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=1",
"next": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=3"
},
"meta": {
"current_page": 2,
"from": 2,
"last_page": 17,
"links": [
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=1",
"label": ""Previous",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=1",
"label": "1",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=2",
"label": "2",
"active": true
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=3",
"label": "3",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=4",
"label": "4",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=5",
"label": "5",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=6",
"label": "6",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=7",
"label": "7",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=8",
"label": "8",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=9",
"label": "9",
"active": false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=10",
"label": "10",
"active": false
},
{
"url": null,
"label": "...",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=16",
"label": "16",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=17",
"label": "17",
"active: false
},
{
"url": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?limit=1&page=3",
"label": "Next "",
"active: false
}
],
"path": "https:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed",
"per_page": 1,
"to": 2,
"total: 17
},
"version": 1599728997
}
job-ads/summary
{
"data": {
"count": 1,
"items": [
{
"id": 804291,
"locale": "en_FR",
"reference": "AQKD459",
"publishedAt": "2022-06-07T17:24:51+00:00",
"title": "Department Manager (H\/F)",
"location": {
"street": "Euralille",
"zip": "",
"city": "Lille",
"county": "North",
"state": "Hauts-de-France",
"country": "France",
"latitude": 50.6356792,
"longitude": 3.0703578
},
"contract": {
"name": "CDI"
},
"workingTime": 1,
"_links": [
{
"rel": "applications",
"href": "http:\/\/api.digitalrecruiters.com\/public\/v1\/job-applications\/detailed?jobAd=804291",
"type": "GET"
}
]
}
]
},
"links": {
"first": "http:\/\/api.digitalrecruiters.com\/public\/v1\/job-ads\/summary?page=1",
"last": "http:\/\/api.digitalrecruiters.com\/public\/v1\/job-ads\/summary?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": ""Previous",
"active: false
},
{
"url": "http:\/\/api.digitalrecruiters.com\/public\/v1\/job-ads\/summary?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next "",
"active": false
}
],
"path": "http:\/\/api.digitalrecruiters.com\/public\/v1\/job-ads\/summary",
"per_page": 10,
"to": 1,
"total: 1
},
"version": "fb2d1a62ba30e1fcc7b14138b692d8e5"
}
Best practices and additional information
- Always include both headers
X-DR-API-KEY
andauthorization
. - Pagination is available for large data retrieval.
- Application data is accessible according to recruiter scope.
Thank you for using the API to export your applications! We are happy to help you seamlessly retrieve your applications and streamline your recruitment processes.